
var prefix = "/jzweb/stuSignUpComPo";
let typesRace = window.location.href.split('?')[1].split('=')[1];
	sessionStorage.setItem('types',typesRace);
$(function() {
	load();
	$.ajax({
		cache : true,
		type : "get",
		url : "/jzApi/examinations/selExaminationCom",
		data:{ type:typesRace},
		async : false,
		error : function(request) {
			parent.layer.alert("Connection error");
		},
		success : function(data) {

			if (data.code == 0) {

				$('#certificateList').selectPage({
					showField: 'name',
					keyField: 'id',
					data: data.data,
					eAjaxSuccess : function(d){
						var result;
						if(d) result = d.data;
						else result = undefined;
						return result;
					}
				});

			} else if(data.code == -1){
				// parent.layer.alert(data.msg)
			}else {
				parent.layer.alert(data.msg)
			}
		}
	});
});

function load() {
	$('#exampleTable')
			.bootstrapTable(
				{
						method : 'get', // 服务器数据的请求方式 get or post
						url : prefix + "/list", // 服务器数据的加载地址
					//	showRefresh : true,
					//	showToggle : true,
					//	showColumns : true,
						iconSize : 'outline',
						toolbar : '#exampleToolbar',
						striped : true, // 设置为true会有隔行变色效果
						dataType : "json", // 服务器返回的数据类型
						pagination : true, // 设置为true会在底部显示分页条
						singleSelect : false, // 设置为true将禁止多选
						// contentType : "application/x-www-form-urlencoded",
						contentType: 'application/x-www-form-urlencoded; charset=UTF-8',
						// //发送到服务器的数据编码类型
						pageSize : 10, // 如果设置了分页，每页数据条数
						pageNumber : 1, // 如果设置了分布，首页页码
						//search : true, // 是否显示搜索框
						showColumns : false, // 是否显示内容下拉框（选择显示的列）
						sidePagination : "server", // 设置在哪里进行分页，可选值为"client" 或者 "server"
						queryParamsType : "",
						// //设置为limit则会发送符合RESTFull格式的参数
						queryParams : function(params) {
							return {
								//说明：传入后台的参数包括offset开始索引，limit步长，sort排序列，order：desc或者,以及所有列的键值对
							     pageNumber : params.pageNumber,
								 pageSize : params.pageSize,
								 types: $('#types').val(),
								 // type:$('#searchState').val(),
								cbatchName:$('#cbatchName').val(),
								name: $('#name').val()
							};
						},
						// //请求服务器数据时，你可以通过重写参数的方式添加一些额外的参数，例如 toolbar 中的参数 如果
						// queryParamsType = 'limit' ,返回参数必须包含
						// limit, offset, search, sort, order 否则, 需要包含:
						// pageSize, pageNumber, searchText, sortName,
						// sortOrder.
						// 返回false将会终止请求
						responseHandler : function(res){
                            console.log(res);
							if(res.code !== '0') {
								layer.msg(res.msg);
								return false
							}
                            return {
                                "total": res.data.total,//总数
                                "rows": res.data.records   //数据
                             };
                        },
						columns : [
								{
									checkbox : true
								},
							{
								field : 'comNums',
								title : '竞赛编号'
							},
							{
								field : 'cbatchName',
								title : '所属竞赛'
							},
								{
									field : 'name',
									title : '考生姓名'
								},
								{
									field : 'idNumber',
									title : '身份证号码'
								},
								{
									field : 'ticketNumber',
									title : '考号/手机号码'
								},
								{
									field : 'courtName',
									title : '赛场'
								},
								{
									field : 'state',
									title : '审核状态',
									width:'100px',
									formatter: function (value, row, index) { //（0待审核，1待缴费，2未通过，3已分配，4已缴费，5待分配，6已过理论，7已出证书，8考试中，9已删除，10已交卷）
										if (value == 0) {
											return '<span><p class="audit"></p>待审核</span>';
										} else if (value == 1) {
											return '<span><p class="audit"></p>待缴费</span>';
										} else if (value == 2) {
											return '<span ><p class="dedetels"></p>未通过</span>';
										} else if (value == 3) {
											return '<span><p class="finish"></p>已分配</span>';
										} else if (value == 4) {
											return '<span ><p class="finish"></p>已缴费</span>';
										} else if (value == 5) {
											return '<span><p class="audit"></p>待分配</span>';
										} else if (value == 6) {
											return '<span><p class="finish"></p>已过理论</span>';
										} else if (value == 7) {
											return '<span><p class="finish"></p>已出证书</span>';
										} else if (value == 8) {
											return '<span><p class="pass"></p>考试中</span>';
										} else if (value == 9) {
											return '<span><p class="dedetels"></p>已删除</span>';
										} else if (value == 10) {
											return '<span><p class="finish"></p>已交卷</span>';
										}
									}
								},
								{
									field : 'signUpTime',
									title : '报名时间'
								},
								{
									field : 'types',
									title : '考生类型' ,
										formatter: function (value, row, index) { //（0待审核，1待缴费，2未通过，3已分配，4已缴费，5待分配，6已过理论，7已出证书，8考试中，9已删除，10已交卷）
											if (value == 1) {
												return '<span >幼儿照护</span>';
											}else if(value == 2){
												return '<span >产后恢复</span>';
											}else {
												return '<span>竞赛</span>';
											}
										}
											},
							{
								field : 'realityNm1',
								title : '第一次加密'
							},
								{
									field : 'unitName',
									title : '单位名称'
								},
								{
									field : 'teacher',
									title : '指导老师'
								},
								{
									field : 'remark',
									title : '备注'
								},
								{
									title : '操作',
									field : 'id',
									align : 'center',
									formatter : function(value, row, index) {

										var e = '<a class="btn btn-primary btn-sm '+s_edit_h+'" href="#" mce_href="#" title="编辑" onclick="edit(\''
												+ row.id
												+ '\')"><i class="fa fa-edit"></i></a>';
										var d = '<a class="btn btn-warning btn-sm '+s_remove_h+'" href="#" title="删除"  mce_href="#" onclick="remove(\''
												+ row.id
												+ '\')"><i class="fa fa-remove"></i></a>';
										var f = '<a class="btn btn-success btn-sm"'+s_resetPwd_h+'  href="#" title="录入"  mce_href="#" onclick="resetPwd(\''
												+ row.id
												+ '\',index)"><i class="fa fa-key"></i></a>';

										var s = '<button style="background: #2C82EB" class="layui-btn layui-btn-sm moreOper " data-index="'+ index +'" data-id="'+row.id+'" title="更多操作" >更多操作</button>';
										// data-num2="'+row.realityNm2+'" data-cbatchid="'+row.cbatchId+'" data-id="'+row.id+'" data-name="'+row.name+'" data-idnumber="'+row.idNumber+'" data-ticketnumber="'+row.ticketNumber+'" data-unitname="'+row.unitName+'" data-teacher="'+row.teacher+'" data-court="'+row.court2+'" data-num1="'+row.realityNm1+'"
										return s;
									}
								} ],

								onAll:function(row){

									layui.use('dropdown', function(){

										var dropdownData="[";
										if(s_edit_h==''){
											dropdownData+="{title:'编辑',id:'1'},";
										}

										if(s_remove_h==''){
											dropdownData+="{title:'删除',id:'2'},";
										}

										if(num1==''){
											dropdownData+="{title:'赛场录入',id:'3'},";
										}

										if(s_resetPwd_h=='' && typesRace != '4'){
											dropdownData+="{title:'考试重置',id:'4'},";
										}

										dropdownData = dropdownData.substring(0,dropdownData.length-1);
										dropdownData+="]";
										//点击回调
										var dropdown = layui.dropdown;
										dropdown.render({
											elem: '.moreOper'
											,data: eval('('+dropdownData+')')
											,click: function(data, othis){
												var elem = $(this.elem)
													,listId = elem.data('id');
												let index = elem.data('index');
												switch(data.id){
													case '1':edit(listId);break;
													case '2':remove(listId);break;
													case '3':resetPwd(listId,index);break;
													case '4':reExam(listId);break;
												}
												//layer.msg('得到表格列表的 id：'+ listId +'，下拉菜单 id：'+ data.id);
											}
										});
									})
								},

					});
}

function reLoad() {
	$('#exampleTable').bootstrapTable('refresh');
}

function add() {
	layer.open({
		type : 2,
		title : '增加',
		maxmin : true,
		shadeClose : false, // 点击遮罩关闭层
		area : [ '800px', '520px' ],
		content : prefix + '/add' // iframe的url
	});
}
function edit(id) {
	layer.open({
		type : 2,
		title : '编辑',
		maxmin : true,
		shadeClose : false, // 点击遮罩关闭层
		area : [ '800px', '520px' ],
		content : prefix + '/edit/' + id // iframe的url
	});
}
function remove(id) {
	layer.confirm('确定要删除选中的记录？', {
		btn : [ '确定', '取消' ]
	}, function() {
		$.ajax({
			url : prefix+"/remove",
			type : "post",
			data : {
				'id' : id
			},
			success : function(r) {
				if (r.code==0) {
					layer.msg(r.msg);
					reLoad();
				}else{
					layer.msg(r.msg);
				}
			}
		});
	})
}

function resetPwd(id,index) {
	var row = $("#exampleTable").bootstrapTable('getData')[index];
	let obj = row;
	sessionStorage.setItem('obj', JSON.stringify(obj));
	layer.open({
		type : 2,
		title : '赛场录入',
		maxmin : true,
		shadeClose : false, // 点击遮罩关闭层
		area : [ '800px', '520px' ],
		content : prefix + '/stuSignUpComEnter/' + id // iframe的url
	});
}

// function resetPwd(id,index) {
// 	var row = $("#exampleTable").bootstrapTable('getData')[index];
// 	let obj = row;
// 	console.log(row);
// 	sessionStorage.setItem('obj', JSON.stringify(obj));
// 	layer.open({
// 		type : 2,
// 		title : '赛场录入',
// 		maxmin : true,
// 		shadeClose : false, // 点击遮罩关闭层
// 		area : [ '800px', '520px' ],
// 		content : prefix + '/stuSignUpComEnter/' + id // iframe的url
// 	});
// }

function batchRemove() {
	var rows = $('#exampleTable').bootstrapTable('getSelections'); // 返回所有选择的行，当没有选择的记录时，返回一个空数组
	if (rows.length == 0) {
		layer.msg("请选择要删除的数据");
		return;
	}
	layer.confirm("确认要删除选中的'" + rows.length + "'条数据吗?", {
		btn : [ '确定', '取消' ]
	// 按钮
	}, function() {
		var ids = new Array();
		// 遍历所有选择的行数据，取每条数据对应的ID
		$.each(rows, function(i, row) {
			ids[i] = row['id'];
		});
		$.ajax({
			type : 'POST',
			data : {
				"ids" : ids
			},
			url : prefix + '/batchRemove',
			success : function(r) {
				if (r.code == 0) {
					layer.msg(r.msg);
					reLoad();
				} else {
					layer.msg(r.msg);
				}
			}
		});
	}, function() {

	});
}

function reExam(id) {
	layer.confirm('确定让该考生重考吗', {
		btn: ['确定', '取消']
	}, function () {
		$.ajax({
			url: prefix + "/reExam",
			type: "post",
			data: {
				'id': id
			},
			success: function (r) {
				if (r.code == 0) {
					layer.msg(r.msg);
					reLoad();
				} else {
					layer.msg(r.msg);
				}
			}
		});
	})
}

$("#lead").click(function (){
	console.log(typesRace);
	importComExcelFile($('#fileUrl'),$('#importExcelForm'),$('#certificateList').val(),'/jzweb/stuSignUpCom/import')
})

//导入
function importComExcelFile(fileObj, formObj,cbatchId,url) {
	if (cbatchId==null||cbatchId==''){
		layer.msg('请选择考试批次后导入!');
	}else {
		var fileUrl = fileObj.val();
		var suffix = fileUrl.substr(fileUrl.lastIndexOf(".")).toLowerCase();//获得文件后缀名
		if (suffix == '.xls' || suffix == '.xlsx') {
			if (fileUrl) {
				formObj.ajaxSubmit({
					type: "post",
					url: url,
					data: {cbatchId: cbatchId,type:typesRace},
					dataType: "json",
					success: function (data) {
						console.log("data",data);
						if (data.code == 0) {
							layer.msg(data.msg);
							$('#exampleTable').bootstrapTable('refresh');
						} else if (data.code ==41304 ) {
							layer.confirm('是否下载错误报告？', {
								btn1:function(index){
									window.location.href = '/jzweb/stuSignUpCom/importComError';
									layer.close(index)
								}
							});
						} else{
							layer.msg(data.msg);
						}
					}, error: function (XMLHttpRequest, textStatus, errorThrown) {
						console.log(XMLHttpRequest, textStatus, errorThrown)
						layer.msg('出错了!');
					}
				});
			} else {
				layer.msg('上传的文件不可为空');
				// parent.$.messager.alert('警告', "上传的文件不可为空", 'warning');
			}
		} else {
			layer.msg('请上传正确的Excel表格!');
			// $.messager.alert('警告', "", 'warning');
		}
	}
}

//报名导出模板
function downExcelModelFile(table) {
	layer.confirm('是否导出报名信息？', {
		btn1:function(index){
			window.location.href = prefix + "/downloadImportStu?types="+typesRace;
			layer.close(index)
		}
	});

}

//下载导入模板
function downExcelModelTemplet(table) {
	layer.confirm('是否下载导入模板？', {
		btn1:function(index){
			window.location.href = prefix + "/exportList?types="+typesRace;
			layer.close(index)
		}
	});

}